/*
 * @lc app=leetcode.cn id=2078 lang=typescript
 *
 * [2078] 两栋颜色不同且距离最远的房子
 */

// @lc code=start
function maxDistance(colors: number[]): number {
    let i = 0;
    let j = colors.length - 1;
    let temp = colors[0];
    // 左右进行遍历，找到各自第一个不同的元素
    while (colors[i] === temp || colors[j] === temp) {
        if (colors[i] === temp) {
            i++;
        }
        if (colors[j] === temp) {
            j--;
        }
    }
    // 镜像 前指针到后指针的位置
    i = colors.length - 1 - i;
    return Math.max(i, j); // 最大的一个值即是
}
// @lc code=end
